home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
A.C.E. 2
/
ACE CD 2.iso
/
FILES
/
DOCS
/
GPFAXDOC.LHA
/
GPFaxPart2.doc
< prev
Wrap
Text File
|
1994-11-27
|
86KB
|
1,944 lines
Part 2
MANUAL TRANSMISSION FAXES
You may also send faxes to people who do not have their facsimile
machine on-line permanently. To do this, ensure that the number to dial
is preceded by
MAN!
Select the faxes to be sent as above and select 'NOW'. GPFAX will create
all required header and cover files and present you with the following
*** See FIG 10 ***
Dial the number manually with your normal phone (connected to the modem
line), ask them to start their fax machine in receive mode and select the
'SEND' button.
INACTIVITY TIMER
When sending faxes, GPFax starts a safety timer of 180 seconds. This is
reset when result codes are received from the modem. If for some reason
the modem does not respond within the time (as can happen with some
modems especially on unattended or scheduled faxes), GPFAX will attempt
to terminate the call and hang up the phone.
*************************************************************************
* *
* Note: GPFax depends on the modem sending back the correct responses *
* as defined in the various standards. If the modem fails to respond *
* under certain conditions, this is a hardware fault with the modem and *
* not specifically the responsibility of the GPFAX software. *
* *
*************************************************************************
GPFAX User Guide Page 58
RECEIVE FAXES
Selecting the receive fax function will pick up the phone immediately
and attempt to answer an incoming fax call (after initialising the modem
if necessary). Unlike the 'AUTOANSWER' option, it does not wait until a
'RING' is detected from the modem.
Receive fax is designed to complement the auto answer option allowing
you to receive faxes manually. If the auto answer is not selected, this
provides a method of switching between voice and fax calls - a human
fax/voice switch! If the phone rings, lift the handset and listen for the
characteristic guard tone or 'CALLING TONE' (CNG) of a fax machine. This
is an 1100 Hz tone lasting for half a second which repeats every three
seconds. If the cng is heard, initiate the fax session manually by
selecting 'RECEIVE' then replace the handset.
Incoming faxes are stored in the FAX_In directory under the names
FAXxxx.pyy, where xxx is the next fax number in the sequence an the yy is
the incremental page number for this receive session. For example, if the
first fax received consisted of two pages, two files named FAX001.p01 and
FAX001.p02 would be created on disk.
At the end of the receive session a log book entry is made recording the
results of the session. This contains the caller's ID, time of call,
number of pages and the names of the fax files received (if any!) The
received faxes may be viewed or printed directly from the log book or
individually from the ~DISPLAY / PRINT FAX' option from the main menu.
RECEIVE SECURITY
If security is enabled, the caller's ID will be checked against the
numbers in the phone book. If a match is found, the fax will be accepted
and saved to disk. If no match found, the incoming data will be ignored.
GPFax User Guide Page 59
VIEW REPORTS
*** See FIG 12 ***
VIEW REPORTS displays the 'log book' where the results of all attempted
fax sessions are recorded.
A log book entry consists of the time and date of the session, the ID
sent by the calling station or the number or name to which the fax was
sent, the elapsed time of the connection, the number of pages sent or
received and the result of the session. Additionally, each entry contains
an internal list of the specific files for each session.
MOUSE AND KEYS
As with all list displays, entries may be highlighted with the mouse, or
the top row of the keyboard (keys 'I' through '='). A double click on any
entry will display all the faxes associated with the highlighted entries.
CURSOR KEYS and PGUP, PGDN, HOME and END scroll or jump scroll the
displayed list. The option gadget responds to the key marked by the
underscore.
GPFax User Guide Page 60
TYPES OF DISPLAYED REPORTS
The list of displayed reports may be toggled between showing all fax
sessions, 'FAXALL', or only faxes sent 'FAXOUT' or only faxes received
'FAXIN'.
VIEWING AND PRINTING
To view all faxes associated with a particular log book entry, double
click on the entry required. (This action will display all files in the
tagged entries.) Also see the 'EXTENDED LOG REPORT' section below.
To print copies of all faxes associated with a particular session or
sessions, highlight the desired entry or entries and select 'PRTFAX'.
This will perform a graphic dump of all fax files in the session to your
printer.
*** See FIG 13 ***
When only a single entry is highlighted, GPFax provides the facility to
print a range of the associated faxes. Enter the desired range and select
'OK'. This allows the printing of single pages from a multiple page
received fax.
*************************************************************************
* *
* Note: At the time this manual went to press. Commodore's Postscript *
* printer driver (WorkBench 1.1/1) did not perform correct strip *
* printing of bitmap images. *
* *
*************************************************************************
The 'LOGPRT' option produces a printed report of the log entries from
the displayed list.
GPFax User Guide Page 61
DELETING ENTRIES AND ASSOCIATED FAX FILES
To delete entries from the log book, highlight the unwanted entries and
select 'DELETE'. An option to delete the actual fax file from the disk is
provided. Care should be exercised with this option since it is not
possible to recover the files once they have been deleted!.
Selecting 'NO' will simply remove the entry(s) from the log book and
leave the actual file(s) on disk.
THE PAGES FIELD
The field shows the actual number of pages sent and the total number of
pages in the session. For received faxes, only the total pages are
displayed.
THE RESULTS FIELD
The results of each session are recorded with the following short
descriptions. If the scheduler or an ARexx command created the log entry,
the suffix '.S' will be added to the description. (See the 'SCHEDULER'
section for further details)
MODEM The modem did not respond correctly or reported fatal errors
during the session. (Fatal error)
NOMEM The Amiga ran out of memory for some function during the
session. (Fatal error)
ABORT The session was aborted. (rare and fatal)
NOANS The remote fax machine did not answer. (Not fatal and generally
a retry will be attempted.)
BUSY The remote fax machine was engaged. (Not fatal.)
FAIL Undetermined error. Corrupt files etc. (Fatal)
GPFAX user Guide Page 62
DISK? Insufficient space to receive fax.
TIME GPFax's default timeout of 3 minutes ran out before modem
responded to commands during send fax.
ERRxxx (Class 2 Only) An error occurred during sending or receiving
fax data. This usually indicates that the connection failed.
The error number (xxx) will depend on your brand of modem and
the actual error. (See Appendix D about 'hangup codes'.)
An error on incoming faxes usually indicates that there were
more pages to follow. The last received page may be garbled.
An error when sending a fax usually indicates that the last
page was not sent correctly. For example, if the log reports
3/6 pages, two pages were received correctly at the remote site
but the third page may not have been.
NO_EOP The end of page handshaking failed. (ERR50)(Fatal)
JUNK The caller attempted to send you a fax but the caller's ID did
not match any entry in the phone book. This applies ONLY if
security enabled. The number ID of the caller will be displayed
in the identification field.
OK It actually worked!
NOISY Indicates that the modem could not obtain a successful training
signal to or from the remote fax machine (Fatal.) (CLASS 1
ONLY)
GPFAX User Guide Page 63
EXTENDED LOG REPORTS
*** SEE FIG 14 ***
GPFAX stores more information in each log entry than is presented in the
simple report. To see this extra information, highlight the desired log
entry (or multiple entries) and select the 'INFO' gadget.
The complete path and file names of all the files associated with this
log entry are also shown. If there are more than five files, use the
scroll gadgets to move through the list.
For Transmitted files, the number of pages actually sent is displayed
followed by '+C' or 'NC' to indicate if a cover page was also
transmitted.
To view or print any of the specific files, highlight the desired file
entry and selected 'PRTFAX' or 'VIEW'.
GPFax User Guide Page 64
RE-TRANSMISSION OF FAXES
From this extended log report you can choose to re-transmit any or all
of the faxes from any log entry.
For example, if a transmission failed due to line errors, you may wish
to resend all the same files again or send just those pages which were
not received at the remote site. As another example, you may wish to
forward all the faxes to a third party.
To re-transmit all or only selected files from the displayed log entry,
highlight the files you wish to re-transmit and select the 'RESEND'
gadget.
This option enters the selected files into the transmit list, look up
the phone number in the phone book, then displays the usual transmit
window. (See the 'TRANSMIT FAX' section for more details.)
GPFax User Guide Page 65
DISPLAY/PRINT FAXES
This function will display any fax, whether generated or received.
You may create a list of the files to view from the file requester and
each will be displayed in sequence.
THE DISPLAYED FAX
Because of the resolution of a fax, the display is best shown on an
interlaced screen (512 pixels high for PAL and 400 for NTSC). We have
chosen soft colours for the display but when viewing the fax on a
standard monitor it may be useful to adjust the contrast and brightness
of the monitor to minimise the flicker.
Displaying faxes requires a considerable amount of the Amiga's graphic
display or CHIP memory. The display routine has been written to make the
best use of the available memory and GPFax will attempt to allocate
sufficient CHIP memory to display the complete fax. This may require ut
to 700K! If this fails, the program will progressively fall back to
display as much as the page as possible. If it is not possible to obtain
enough memory to display at least the first 256 lines of the fax, you
will need to free some memory being used by other programs before
retrying to display the fax.
If the fax is longer than a standard A4 page (1144 line, or 2288 for
fine mode), or if memory is restricted, only part of the complete fax
will be shown. Select the 'MORE' gadget to display the next portion of
the fax.
Selecting ~NEXT', displays the next fax file in sequence (if any).
INVERTING THE DISPLAY
Often received faxes have been sent upside down. To view the fax in the
correct orientation, select the 'INVERT' gadget.
GPFax User Guide Page 66
RESIZING THE DISPLAY
Initially the fax is displayed at full size, revealing the top left
corner of the image. Scroll around the fax by moving the scroll gadget or
by using the cursor and numeric keypad keys (PGUP, PGDN, HOME, END).
Once displayed, the fax can be re-displayed at integer scales of 1:1,
1:2, or 1:4 (press keys '1', '2', or '4' on the main keyboard).
*************************************************************************
* *
* Note: If there is insufficient memory, these options will be disabled *
* *
*************************************************************************
SAVING OR PRINTING
A displayed fax can be printed or saved as an IFF picture file by
selecting the 'PRINT' or 'SAVE IFF' gadgets.
The current scale factor or invert status has no effect on the printed
or saved data. If 'PRINT' or 'SAVE' is selected when only a partial fax
is displayed, an option will be presented allowing you to use the
complete image or just the partially decoded image currently displayed.
It is possible to select portions of a large fax and print or save just
those portions.
The saved IFF picture is saved in two colours and is by definition 1728
pixels wide. The height of the image depends on the particular fax but
will generally be less than, or equal to, the maximum of 1144 pixels.
(Double if in fine mode!)
GPFax User Guide Page 67
THE SCHEDULER
By using the scheduler, faxes can be queued for transmission at
a later time, maybe to take advantage of cheaper telephone charges.
The scheduler may be toggled on or off fro the main `OPTIONS` menu. If
the scheduler is turned off, faxes are simply, queued until the scheduler
is next enabled. Also see the `OPTIONS` section for information on the
`PRINT POPUP` FUNCTION WHICH ALSO USES THE SCHEDULER.
Faxes are entered into the scheduler from the `PRINT POPUP` function or
the `TRANSMIT FAX - LATER` option discussed previously.
HOW THE SCHEDULER WORKS
Once a scheduled transmission has been entered,GPFax looks up the
schedule entries every minute and will attempt to send the fax if the
scheduler is enabled. If the transmission is successful, an entry is made
in the log book and the schedule entry is removed. GPFax will then look
for the next schedule if there is one.
If a schedule transmission fails, because the number was busy or did not
answer, GPFax will re-schedule the transmission up to five (5) times by
progressively adding either 1, 4, 9, 16 or 25 minutes to the schedule
time. After five unsuccessful attempts, a failure will be reported in the
log and schedule reports and no further attempts will be made.
If the transmission fails with a fatal error, the schedule will be
marked as a failure and no further attempts will be made.
Failed schedules may be re-scheduled by editing the transmission times.
SCHEDULED FAX COVER PAGES
As discussed in the `TRANSMIT FAX -LATER` section, if the phone book
entry associated with a schedule has a cover page selected, that cover
page will be sent with the fax. Otherwise no cover page is transmitted.
GPFax User Guide Page 68
EDITING FAX SCHEDULES
*** See FIG 15 ***
The fax schedules may be edited from the `SHOW SCHEDULES` main menu
option. Only the time of the schedule may be changed, the phone number
and list of fax files cannot be changed once a fax has been scheduled. If
this is required, the schedule must be deleted and a new schedule entered
from the `TRANSMIT FAX` facility.
THE REPORT FIELD
Just as with log book entries, the scheduler reports the results of each
attempt to send the scheduled faxes.
DUE Transmission is now due.
PENDING Transmission is scheduled for a future time.
GPFax user Guide Page 69
OVERDUE Transmission time has passed and the fax will be sent at the
next opportunity.
RETRY Transmission failed because the number was busy or did not
answer. A retry has been scheduled for a later time.
MAXTRY Five attempts were made to send this fax but all failed. No
further attempts will be made until the user intervenes and
re-schedules this fax. Fatal.
BADFILE The file list for the schedule faxes was incomplete. GPFax
could not find all the files for this session. Maybe one of
the files had been deleted after the schedule had been
entered. Fatal.
ERROR Attempt failed. Maybe hardware or memory or other cause. See
log book entry for more details. Fatal.
FAILED Modem reported a line error or other undefined error during
the attempt to send this fax. Fatal.
With most of the above, a report is also appended to the log book.
VIEWING SCHEDULED FAXES
To view the faxes associated with schedule, highlight the desired entry
and select `VIEW`.
Note that any associated cover page cannot be viewed. Only the main fax
files can be displayed.
GPFax User Guide Page 70
GPFax provides the option to iconify the program to minimise memory
usage. Selecting `ICONIFY` closes down the main window and places a small
icon on the WorkBench screen.
To de-iconify and re-open the main program, double click on this icon.
************************************************************************
* *
* Note: it is just possible that GPFax may be unable to re-open the *
* main display window from the iconified state. The cause of this is *
* insufficient memory. In such cases, GPFax just quits. *
* *
************************************************************************
Most of the functions of the program are available from the iconified
state. GPFax will automatically receive and schedule transmissions while
iconified. The printer driver also functions fully while the program is
iconified.
************************************************************************
* *
* Note: To automatically receive faxes while iconified, the *
* `AUTOANSWER` option must be enabled. *
* *
************************************************************************
While sending or receiving, GPFax will not open the normal status or
error windows but will simply display a small window on the top of the
WorkBench screen.
USING PROGRAM FUNCTIONS WHILE ICONIFIED
UNDER WORKBENCH 1.3
When iconified under WorkBench 1.3, all functions except manual transmit
and convert to fax may be performed by a double click on one of the icons
created by GPFax. The phone book, log and scheduler reports may be
displayed on the WorkBench screen by a double click on the appropriate
icon. Note that any windows which appear on the WorkBench screen can only
be moved, they cannot be depth arranged as `normal` Amiga WorkBench
windows. Also, only the top-most window of any display is movable.
GPFax User Guide Page 71
EXAMPLES: To view, double click on a FAX icon.
To see reports of the last received fax, double click on the
last GPFax_log icon. This will display the log book and the
last received (or other) fax may be viewed and printed.
UNDER WORKBENCH 2.0
Under WorkBench 2.0, the icon displayed on the WorkBench screen is a
special icon known as an `APPLICATION ICON`. It has the name `GPFax
Dock`. All of the features of WorkBench 1.3 as discussed above will still
work by double clicking. However, a more efficient approach is simply to
`drop` any other icon on top of the `GPFax Dock` icon.
For example, to convert a text or picture file to fax format, drag the
required icon and drop it onto the `GPFax Dock1 icon. Providing the
program is not performing another operation, GPFax will sense this event
and convert this file to fax format.
Alternatively, drop any icon created by GPFax on to the application icon
to view faxes or preform other functions.
***********************************************************************
* *
* Note: These functions are not available if the `WB2 ICON` option *
* has been disabled. Also, if GPFax is busy with one task, the *
* application icon will not accept any more input. *
* *
***********************************************************************
GPFax User Guide Page 72
USING ARexx WITH GPFax
We have provided GPFax with extensive ARexx capability to allow almost
complete remote control of the program from an ARexx script file. Some
sample files are included in the rexx_scripts directory on the master
disk. All GPfax ARexx macros have the suffix `.gpf`.
**********************************************************************
* *
* Note: Before attempting to use these commands, consult an ARexx *
* manual for details on how to use ARexx! *
* *
**********************************************************************
THE ARexx PORT
GPFax provides a public ARexx pot named `REXX_GPFAX`
GENERAL NOTES
RETURN CODE ERRORS
When using ARexx with GPFax, all commands return the error code in the
variable RC to ARexx as follows.
Definition Value Notes
RC_OK 0 success
RC_WARN 5 warning only
RC_ERROR 10 something`s wrong
RC_FATAL 20 complete or severe failure
*********************************************************************
* *
* It is VITAL that you check the ARexx return code (value of RC) *
* before continuing with any subsequent commands. *
* *
*********************************************************************
If no errors occurred, most commands return the result of the action in
the ARexx variable RESULT
************************************************************************
* *
* Important Note: GPFax Log Book *
* *
* The log book in GPFax is designed to be optional for normal use of *
* the program, to save disk/memory space. The ARexx commands make *
* extensive use of the log book. You MUST ENSURE LOG REPORTING is *
* turned on when using ARexx! *
* *
************************************************************************
GPFax User Guide Page 73
ARexx FUNCTION KEY MACROS
GPFax provides the facility to attach a specific ARexx script to any of
the ten shifted function keys. (The shifted function keys are used to
make selection of these a positive action.)
The function keys SHIFT F1 - SHIFT F10 will attempt to execute an ARexx
script called `FuncXX.gpf` where XX is the number of the function key.
For example SHIFT F5 will issue an ARexx command to run the script named
`Func5.gpf`. This script must be in `GPFax:` directory or on the standard
REXX path.
SPECIAL INTERNAL ARexx FUNCTIONS
GPFax provides two special ARexx operation as internal functions. These
must be enabled from the `OPTIONS` menu.
ARexx ON RECEIVE
When a fax has been received successfully, GPFax will attempt to execute
the ARexx script `Answer.gpf`. You may use this, to print out the log
report or automatically print all the faxes received. Another use would
be to re-transmit all received faxes to another number.
AUTO DETECTION OF FAX OR DATA CALL (CLASS 2 ONLY)
This function is designed to complement BBS software by allowing GPFax
to act as a front end for sending and receiving faxes on the same line as
BBS. Since answering a fax call has a time critical element, and a data
call does not, it is often more efficient for GPFax to act as the front
end for the BBS software rather than the other way round. The BBS
software must support correct shared serial port access, including the
facility to `unlisten` to incoming serial data. We are working with the
authors of many of the common BBS packages to fully support this
automatic fax/data feature.
GPFax User Guide Page 74
When answering the phone, Class 2 modems with GPFax can automatically
differentiate between Fax and Data calls. This is called 'adaptive
answer'. This feature can be enabled by selecting the 'AUTO FAX/DATA'
button from the 'OPTIONS' menu.
If it is not enabled, GPFax will simply hang up the modem if the
incoming call is not a Fax call.
If a data call is detected, GPFax will change the serial port speed to
the reported baud rate from the modem (unless disabled by LOCKBAUD
command) and wait for up to 10 seconds for a incoming serial character.
It then attempts to transmit the contents of the file
'GPFAX:DATAMESSAGE.TXT'. This text file is designed to provide the caller
with some general instructions about the BBS system she or he has
connected to. (If the file does not exist in the GPFAX: directory the
program will just continue.)
If 'ARexx DATA' IS NOT ENABLED, the program then hangs up the modem.
If 'ARexx DATA IS ENABLED, and the serial port is in shared mode, the
program 'unlistens' the serial port and attempts to execute the ARexx
command script named 'DATACALL.gpf'.
This script should pass control to the BBS software. The ARexx command
BAUDRATE can be used to established to actual connection baud rate if
required.
When the BBS software has finished its job, it should return control to
the rexx script and thus back to GPFax. GPFax will then close the serial
device and re-open it 0.5 secs later at 19200 baud or higher as set at
startup (hence dropping DTR and disconnecting the caller safety). It will
the re-initialise the modem to fax and start listening to the serial port
again to continue normal operations.
*************************************************************************
* *
* WARNING: This function tells GPFax to UNLISTEN from the serial port *
* until this call returns. All GPFax serial events are blocked until *
* this ARexx script returns! *
* *
*************************************************************************
GPFax User Guide Page 75
CASE OF TEXT STRINGS
Be aware that a command such as SENDFILE<filename> TO <name> will pass
the <name> parameter to GPFax in UPPERCASE. GPFax uses case sensitive
name checking in the phone book. If this is a problem, use the command
SENDFILE<filename> TO '<name>'. (See ARexx manual for more details)
The following abbreviations are used in this section
T transmit
R receive
A all (both T & R)
P printed
< > parameter string
( ) parameter is optional
Commands which read log entries (e.g. 'VIEWLAST') can take an optional
parameter of 'T' or 'R' to select between the Transmitted (FAX_OUT) and
Received (FAX_IN) reports.
If no parameters is given then the command defaults to R to Receive.
GENERAL COMMANDS
CONVERT <file1, file2..> (Text or 2 colour IFF)
output files (file_TFAX.pxx) are placed in the currently
defined output directory. If RC=0 the RESULT=last generic
filepath.
FAXTOIFF <file1,file2..> (OUTDIR <dir> ALL)
output files (file_IFF) are placed in <file> directory
unless OUTDIR is defined. If a generic file name is used,
only the first file will be converted unless the ALL
parameter is given.
GPFax User Guide Page 76
LASTFILE (<R/P>) (Default R)
The RESULT variable returns last file created by program
from receiving fax or printfax routines (i.e. FAXxxx,
PRTxxx)
PRINTFAX <file,file1...filen>*1
VERSION RESULTS variable = version string
VIEWFAX <file,file1...filen>*1
QUITFAX quits program
COMPANYNAME <new company name>
This option has been requested by a number of business
users who operate different companies from the same phone
number. It is a simple mechanism to remotely change the
default company name in the GPFax environment. The cover
page and the one line header at the top of each page uses
the company name from the environment. This command allows
you to easily change the name displayed on the transmitted
cover page and fax header.
************************************************************************
* *
* WARNINGS *
* *
* a) This command will change the actual company name in the GPFax *
* environment. If you subsequently cause the environment to be *
* saved by manually changing any of the environment or option *
* settings, this new company name will be saved in the *
* configuration. *
* *
* b) Normally, the company name displayed on any separate cover page *
* generated by GPFax comes from the particular phone book entry *
* being dialled. After you use this ARexx command, the cover page *
* name will be taken from the environment, NOT the phone book *
* entry. *
* *
************************************************************************
GPFax User Guide Page 77
PROGRAM SWITCH COMMANDS
The switch is optional. If RC=0 the command returns current setting or
value in RESULT variable.
AUTOANSWER (<on/off>)
AUTOFAXDATA (<on/off>)enables fax/data detection
IMAGESCALE (<on/off>)
MODEMQUIET (<on/off>)
PAGEMARKERS (<on/off>)
PAGINATE (<on/off>)
PRTDRIVER (<on/off>)
PRTPOPUP (<on/off>)
RESOLUTION (<fine/std>)
REXXANSWER (<on/off>)(Only functions if auto data selected)
REXXDATA (<on/off>)
SCHEDULER (<on/off>)
SECURITY (<on/off>)
STAMPBOTTOM (<on/off>)
NOSYSREQ (<on/off>)
Turns of System Requester ("disk full" etc.) when
executing ARexx commands.
GPFax User Guide Page 78
SEND/RECEIVE FAX COMMANDS
RECFAX Immediately answer (send ATA) and start receive fax. If RC=0
then RESULT contains full log entry as with option (8) in
REPORTLOG below.
SENDFAX <file1,file2..*1> TO <num1,num2...>(<groupname>)
RC variable records success or failure. If ANY file in the
sequence fails the rest are aborted. )Preferably send to ONE
number at a time and examine the log to see what happened.)
<num> may be number or name or group. This is checked in the
phone book entry and cover page will be sent if the phone book
entry has one attached. Otherwise no cover page is sent.
If no match is found for a number or name, the group name will
be checked and files sent to all in that group.
*1 <file> if filename ends in .pxx then only a single file is
used. Otherwise the filename is treated as a 'generic' file
name and all pages with this name will be used.
*************************************************************************
* *
* Note: If sending to multiple numbers (or group), if ANY fax fails *
* the command will be aborted and return error. *
* *
*************************************************************************
GPFax User Guide Page 79
LOG BOOK FUNCTIONS
PRINTLOG REPORT (<T/R/A>)(Default:A for All)
print a list of log reports to printer (PRT:)
REPORTLOG (<T/R>)<RepNo>(Default: R)
1 last generic filename (or NOFILE)
2 total number of pages (number)
3 last result of send or receive (7 characters)
4 number to/from (20 characters)
5 Date Time (20 char DAY MON DD:HH:MM:SS)
6 transfer time (number)
7 number of pages sent (number)
8 all of above (order 3 4 6 7 2 5 1)
VIEWLAST (<T/R>) views last T/R files from log book (Default: R)
PRINTLAST (<T/R>) prints last T/R files from log book (Default: R)
FONT AND MARGINS COMMANDS
If any of below fail, the default GPFax font will be reset.
FAXFONT (<fontname><size>)(4>size<500)
if RC=0 RESULT="fontname size LM RM LPP"
MARGINS (<LM> <RM>)(0 <LM <RM <200)
if RC=0 then variable RESULT="LM RM"
LINESPERPAGE (<LPP>)(2 <LPP <300)
if RC=0 then the variable RESULT="LPP"
GPFax User Guide Page 80
After various suggestions from users we have extended the ARexx commands
with new commands designed specifically for use with BBS programs such as
TrapDoor and Getty for Amiga UUCP
*************************************************************************
* *
* Note1: ONLY the RECEIVENOW and FCONRECEIVE commands automatically *
* handle listen/unlisten. Other commands do not. You MUST specifically *
* listen or unlisten the serial device if required according to your *
* needs and that of other cooperating software also the serial port. If *
* the serial device is not in the correct state an error will be *
* returned. *
* *
* Note2: Some commands either close the serial port or preform an *
* unlisten. If this is done, GPFax does not guarantee that the modem *
* has been correctly initialised and internally flags this fact. In *
* such cases, the next time the modem attempts to answer a call, it *
* will re-initialise the modem with the default initialise string. *
* *
*************************************************************************
SPECIAL COMMANDS
OPENSERIAL Opens serial device, sets the default baud rate (19200
if not set with the BAUDRATE command on startup) and
starts listening to the serial port. Does not
initialise modem.
CLOSESERIAL Closes the serial device and flags that modem is not
initialised. (This will cause the modem to initialised
when doing a manual receive or transmit.)
INITMODEM Sends to the modem the init sequence defined in the
Environment plus other commands to initialise the modem
to receive faxes. Serial port MUST be open!
GPFax User Guide Page 81
UNLISTEN stop serial monitor (SEND/RECEIVE disabled)
LISTEN start serial monitor
*************************************************************************
* *
* Note: These commands do what the suggest. `LISTEN` will NOT open the *
* serial port or initialise the modem. If the serial port has been *
* closed, `LISTEN` will return an error. `UNLISTEN` also flags the fact *
* that the modem initialisation is no longer valid. *
* *
*************************************************************************
LOCKBAUD (<on/off>) (Default: Off) (Class 2 only)
This switch determines whether GPFax changes to the
incoming baud rate when DATA calls are detected. If the
baud rate is locked, GPFax will keep the baud rate
locked at 192000 or whatever rate was defined on
startup.
BAUDRATE returns the baud rate of the current connection.
For use by data scripts an auto detection of a data
connection. It is not possible to change the baud rate
at which GPFax operates after you have started the
program. If you wish to run at higher than 192000 you
must set this when GPFax is first run.
************************************************************************
* *
* Note: Do not confuse this with the BAUDRATE setting used in the *
* TOOLTYPE of the GPFax icon. *
* *
************************************************************************
SCHEDULEFAX <TIME in MINS> <file,file> TO <num,num,..(group)>
The command is effectively the same as sendfax but has
extra parameter of TIME. The TIME variable is in minutes
AHEAD of current time and the value must be greater than
zero.
GPFax User Guide Page 82
RESETSCHEDULES <TIME mins>
this command resets all currently queued scheduled faxes
to the current system time + TIME (The command does not
check status of schedules. It resets all schedules
irrespective of what the error was.)
COVERPAGES <ON/OFF>
Allows you to determine and if cover pages are to be
sent when using ARexx, send or schedule commands. If a
phone number or group number is found in phone book and
has an attached cover page, this setting allows you to
override the default and not send the cover. (Default:
ON.)
RECEIVENOW and FCONRECEIVE (CLASS 2 ONLY)
************************************************************************
* *
* Note: Because Class 1 modems have no consistent adaptive answer *
* standard, fax/data detection and associated functions are not *
* provided in the Class 1 version of GPFax. None of these ARexx *
* commands are available in the Class 1 version. *
* *
************************************************************************
These are the two main commands for running GPFax in conjunction with
BBS software and external `trapdoor` style or UUCP/Getty programs.
When external program causes the modem to answer the phone, it must
determine if the call is fax or data. The best method of detecting a fax
call is to look for a +FCON command from the modem. GPFax provides two
commands to initiate receipt of a fax depending on exactly how the
external program works.
Both commands effectively perform the same operation, however, there are
some very important differences between FCONRECEIVE and RECEIVENOW.
FCONRECEIVE is designed to be called immediately after receiving the
`+FCON` response from the modem. (At this point, the calling program must
have the baud rate set to 192000 and must also be in `unlisten` mode.)
GPFax will process any handshaking commands while waiting for the
GPFax User Guide Page 83
subsequent `OK` from the modem before initiating the receive. On the
other hand, RECEIVENOW does not wait for the `OK` and is designed to be
called where the external program has received the `OK` from the modem
AFTER the `+FCON`.
The actual function of the commands are as follows
Do a default LISTEN if required
begin receiving of faxes and save incoming files
do UNLISTEN
returns to calling rexx script
CREATING ARexx SCRIPTS
Creating an ARexx script to run from a BBS package which calls GPFax is
not difficult problem but several aspects need to be considered. Before
writing the script it is important to clearly map out the exact functions
you expect each program to perform.
With the FCONRECEIVE command, GPFax expects that the external program
will be sent an 'ATA' (or auto answer) to the modem, has swallowed the
FAX/DATA result to determined if it is a FAX call, then waited until a
'+FCON' response has been received.
Depending on exactly which external program you are using, it may be
best to allow GPFax to send the main modem initialisation commands. This
will ensure that the modem has been correctly set up to receive fax or
data calls.
*************************************************************************
* *
* Note: It is important to realise that once GPfax has done the *
* initialisation, the modem should not be reset. i.e. Do not send an *
* 'ATZ' or similar command, switch off, or have any setting that will *
* cause the modem to be reset. *
* *
*************************************************************************
GPFax User Guide Page 84
A sample setup would be
run GPFAX with FAX/DATA modem set
wait for GPFax to startup (e.g. using 'waitforport')
send GPFax an UNLISTEN
run BBS and frontend
then
START
wait for serial
get RING
issue ATA
determine FAX or DAT
if FAX response received
wait for +FCON
call GPFAX with FCONRECEIVE
goto START
With both FCONRECEIVE and RECEIVENOW, time delays can be critical. The
fax call will not wait for more than about THREE SECONDS (MAX) to
continue with fax reception.
Be careful about the modem initialisation between Fax and Data calls.
Under some circumstances, it also may be necessary to re-initialise the
modem (using LISTEN/INITMODEM/UNLISTEN commands) after receiving the call
and especially after the external program makes data calls.
USING GPFAX WITH TRAPDOOR OR GETTY
The information supplied herein should be sufficient to get GPFax
working with TrapDoor v1.83 and FaxGETTY. The information should also
provide a basis for development of scripts to work with other programs
including DLG (with or without TrapDoor) and other BBS packages.
Any people developing scripts which work with GPFax are urged to place
their scripts in the PUBLIC DOMAIN and send them to Richard Carde at
GPSoftware so they may be included in any new distributions. GPSoftware
can be contacted at the addresses shown elsewhere in this document.
GPFax User Guide Page 85
*************************************************************************
* *
* Note: The example scripts overleaf are examples only. Most likely *
* you will need to modify these to suit your local conditions. If you *
* have problems, contact Richard Carde at GPSoftware for more details *
* *
*************************************************************************
SHELL SCRIPTS
All AmigaDOS scripts mentioned in this document MUST have the 's'
(script) protection bit set and therefore you should be using a least
AmigaDOS 1.3 Shell. As we cannot test under every possible machine
configuration, it is advisable that you use a standard AmigaDOS 1.3 (or
higher) Shell.
ARexx SCRIPTS
ARexx will look for scripts in the default directory, from where the
GPFAX has been, and in the REXX: directory. It is advisable that all
scripts be located in GPFAX: directory and that you CD to GPFAX: before
executing the program.
DEFINITIONS: MODEM CONFIGURATIONS, LISTEN AND UNLISTEN
It is important that you understand your modem, it's configuration
settings and some things about handling the serial port on the Amiga. If
you do not know whether your modem supports DTE baud rate locking then
you should read your modem manual to understand what is meant by this
term. Most new high-speed modems support baud rate locking.
*************************************************************************
* *
* Note: We use the term 'baud rate' to refer to the connection speed *
* between the computer (DTE) and the modem (DCE). In other words, the *
* speed of the Amiga serial port. It is does not refer to the actual *
* bits per second used by the modem when data is being sent or received *
* from a remote DCE. This will vary between 2400 b.p.s (bits per *
* second) and 19200 b.p.s or higher depending on your modem and the *
* quality of the phone line. *
* *
*************************************************************************
BAUD RATE LOCKING
Baud rate locking means that the communication speed (DTE speed) between
the computer and the modem is locked at a constant value (normally 19200
GPFax user Guide Page 86
for Fax), regardless of the modem to modem connection rate. (DCE speed).
The modem will buffer the data and sends it out at the DCE speed. Usually
the DCE speed is less than the DTE speed so the modem must control the
flow of data from the computer with some form of handshaking from the
computer with some form of handshaking to start and stop the flow of data
as required. Normally RTS/CTS hardware handshaking is used for Fax CLASS
2 modems, and XON/XOFF for Fax Class 1 modems.
LISTEN, UNLISTEN AND SHARED SERIAL PORTS
The Amiga provides only a primitive mechanism for allowing multiple
programs to access the one serial port. However, this works well
providing all programs observe a few simple rules.
Several programs can productively access to the Amiga's serial port at
once providing they all open the device using the 'SHARED SERIAL' option.
But only one program may effectively CONTROL the port at any given time.
Note that when two programs share the serial port, neither program will
be able to drop DTR to disconnect the modem while the other program still
has the serial device open. If you cannot use the '+++ATH' command
method, you will have to physically close the serial device on both
programs to drop DTR. (Don't forget to reopen it afterwards!)
In order to process incoming data from the modem at high speed, a
program sends a request to the serial device for one character, then goes
to sleep (WAITs). When characters arrive at the port, the serial device
buffers them and notifies the calling program that a character is
available. After processing this character, and any other buffered
characters, the program then queues another request for one character and
returns to wait state. A program is said to be in 'LISTEN' mode when it
has such a queued request pending.
When in listen mode, the serial port is effectively blocked from use by
other programs.
If a second program wishes to access the port, the first program must be
told to cancel its waiting request and then not look at the port
(UNLISTEN), leaving it free for the use of the second program.
The GPFax ARexx command LISTEN tells the program to watch (listen to)
GPFax User Guide Page 87
the serial port for serial data. As defined by the Fax standards,GPFax
sets the DTE-DCE speed at 19200 baud unless changed to a higher speed
when the program is first run. Therefore, when any application tells
GPFax to talk to the modem, it must ensure that the serial device baud
rate has been set to the same speed (192000 as is being used by GPFax.
Most fax modems automatically set the speed to 19200 baud when they enter
FAX mode. TrapDoor and FaxGETTY should have already set the modem speed
(19200) when control is passed to GPFax.
UNLISTEN is the GPFax ARexx command which tells the program to stop
waiting for serial data. This allows other programs to talk to
the modem while GPfax is running (if in SHARED serial mode) but
only AFTER you have issued the unlisten command.
USING TRAPDOOR v1.80 AND GPFax
To use TrapDoor v1.80 (any version less than 1.83), you need to use
GPFax to answer the incoming call. Versions of TrapDoor below version
1.83 cannot answer FAX calls.
Calls are answered in the following sequence:
a. GPFAX answers the call and determines if the call is a FAX or DATA
connection.
b. If the incoming is a FAX call, GPFAX processes the incoming fax and
returns to wait for the next call.
c. If the call is a DATA call, the DataMessage.txt file is displayed
(if it exists) and then the DATACALL.GPF ARexx script is executed.
That script should run trapdoor in ANSWER IMMEDIATE mode.
d. If the DAT call is a FIDO MAIL call, trapdoor can handle it and then
will return.
e. If the DATA call is a user for the BBS, then you must
GPFax User Guide Page 88
set up trapdoor to work with your BBS and modem configuration.
The following config and scripts should be used if your modem supports
BAUD RATE LOCKING (e.g.: Supra, ZyXEL) and the baud rate used MUST be set
to 19200 unless the modem is capable of performing fax operation at a
higher speed (ZyXEL). You should also make sure GPFax is run in LOCKED
baud rate mode if your modem supports it, and that you interpret the
result of the BAUDRATE ARexx command correctly.
GPFax MUST BE IN SHARED SERIAL MODE with the following options set:
Auto/Answer
FAX/DATA mode
ARexx DATA
---------- DATACALL.GPF script starts here ----------
/*
* $VER: DataCall.GPF 0.03 (5.11.92) rsc
* this script will start TRAPDOOR v1.80 or below
*/
options result
address REXX_GPFAX
baudrate
baud=result
address command `FIDO:trap/trapdoor` ANSWER IMMEDIATE
----------script ends here ----------
The following modifications are required when non-locking baud rate
GPFax User Guide Page 89
modem is used (e.g.: Maestro 9600XR Fax/Data modem) TrapDoor will require
a different config depending on baud rate used, and the LOCK command in
the TrapDoor.cfg must not be specified.
--------- DATACALL.GPF script starts here ----------
/*
* $VER: DataCall.GPF 0.03 (5.11.92) rsc
* this script will start TRAPDOOR v1.80 or below
*/
option results
address REXX_GPFAX
baudrate
baud=result
if (baud=300) then CONFIG="mail:TrapDoor300.cfg"
else if (baud=300) then CONFIG="mail:TrapDoor300.cfg"
else if (baud=1200) then CONFIG="mail:TrapDoor1200.cfg"
else if (baud=2400) then CONFIG="mail:TrapDoor2400.cfg"
else if (baud=4800) then CONFIG="mail:TrapDoor4800.cfg"
else if (baud=7200) then CONFIG="mail:TrapDoor7200.cfg"
else if (baud=9600) then CONFIG="mail:TrapDoor9600.cfg"
else if (baud=19200) then CONFIG="mail:TrapDoor19200.cfg"
else say "funny baudrate"
address command `trapdoor` `config` CONFIG ANSWER IMMEDIATE
--------- script ends here ----------
Each of the MAIL:TrapDoor<baud>.cfg files should have the appropriate
BAUD keyword set and any other settings specific to the modem.
*************************************************************************
* *
* Note: The above procedures are NOT recommended. It is recommended *
* that you obtain TRAPDOOR v1.83 and use it if you intend to use your *
* fax modem with DAT/MAIL calls. *
* *
*************************************************************************
USING TRAPDOOR V1.83 AND GPFax
Using TrapDoor v1.83 and GPFax is quite simple. All that is required
are changes to two (2) lines of your TRAPDOOR.CFG file. It is necessary
for GPFAX to be in SHARED serial mode and already running is the
UNLISTENED state before TrapDoor is started. An INIT_FAX script is
supplied below to do this automatically.
Some background on how things work:
TrapDoor v1.83 has two new commands specifically for use with FAX. These
commands are FAXSTRING and FAXCOMMAND and work in the same way and the
BBSCOMMAND does.
FAXSTRING should be set to "+FCON" and FAXCOMMAND set to "MAIL:rec_fax".
The REC_FAX script is listed below.
This will instruct TRAPDOOR to start the MAIL:rec_fax script when the
string +FCON is received from the modem.
TrapDoor`s baud rate should be set to 19200, however, for faster DATA
communications, the BAUD can be set to anything. If you have problems, we
advise that BAUD be set at 19200.
The MAIL:rec_fax script is shown below and is a standard AmigaDOS script
which should have the `S` (script) bit set.
We have presented below, two examples of different methods in handling
TrapDoor.
The following script uses the LISTEN/UNLISTEN commands, and although
GPFax is UNLISTENED, it has the serial device open. Hence, your config
for TrapDoor would require MODEMHANGUP string to be "~+++~ATH|".
GPFax User Guide Page 91
--------- start of the MAIL:rec_fax script ---------
rx "address REXX_GPFAX fconreceive"
wait 5
;
;place other commands in here to automatically VIEW/PRINT/LOG any
;activity
;
--------- end of the MAIL:rec_fax script ---------
The INIT_FAX script is shown below and can be EXECUTED or run if the `s`
bit is set.
--------- start of INIT_FAX ---------
;
;execute this to start GPFax and trapdoor
;
cd gpfax:
run gpfax -nq -q
waitforport REXX_GPFAX
rx "address REXX_GPFAX unlisten"
run mail:bin/trapdoor answer
cd mail:
---------- end of INIT_FAX ---------
This second script uses the OPENSERIAL/CLOSE serial commands, and thus
will permit Trapdoor to use its"TOGGLE DTR" option to hang up any data
orientated calls.
--------- start of the MAIL:rec_fax script ---------
rx "address REXX_GPFAX openserial"
rx "address REXX_GPFAX fconreceive"
rx "address REXX_GPFAX closeserial"
wait 5
;
;place other commands in here to automatically VIEW/PRINT/LOG any
;activity.
;
;
---------- end of the MAIL:rec_fax script --------
GPFax User Guide Page 92
The INIT_FAX script is shown below and can be EXECUTED or run if the `s`
bit is set.
--------- start of INIT_FAX ---------
;
;execute this to start GPFax and trapdoor
;
cd gpfax:
run gpfax -np -q
waitforport REXX_GPFAX
rx "address REXX_GPFAX closeserial"
run mail:bin/trapdoor answer
cd mail:
--------- end of INIT_FAX ---------
USING FaxGETTY AND GPFax
Using FaxGETTY and GPFax is equally easy. All that is required are two
scripts, an appropriate UULIB:PASSWB file and standard UUCP set-up.
Some background on how things work:
FaxGETTY is different from the normal GETTY because it watches for a FAX
modem connection. When it receives a FAX connection, it looks for the
USER FAX in PASSWD file then runs a script to start whatever you want to
do get it going. This document covers only the FAX side of GETTY and
GPFAX and the general usage of GETTY.
You will require a startup script for which can automatically set things
up for you and a script which initiates a FAX receive. The two scripts
are documented below:
GPFax User Guide Page 93
--------- startup script --------
;execute this to start GPFax and FaxGETTY
;
cd gpfax:
run gpfax -np -q ;start GPFax quietly without the printer driver
waitforport REXX_GPFAX
rx "address REXX_GPFAX unlisten"
cd uucp:
run >nil: <nil: uucp:c/getty -Mh -B2400 -d0 -F AT
;run >nil: <nil: uucp:c/getty -Mh -B19200 -d0 -F AT
;use the line above for SUPRA modem (19200 may be changed to higher
;values for better throughput in DATA mode)
;
;end
--------- end of script --------
GPFax is started in QUIET mode without the printer driver, so it does
not interfere with normal system running. GETTY is then started for a
Maestro modem which DOES NOT support baud rate locking. For more
information on the GETTY commands, read the FaxGetty.doc and Getty.doc
An example of a UULIB:PASSWD entry could be:
fax,*,0,0,MrFAX,GPFAX:,uucp:rec_fax
and the rec_fax script (with the `s` or script bit set) could do the
following:
-------- start of uucp:rec_fax script --------
rx "address REXX_GPFAX FCONRECEIVE"
wait 5
;do other logging stuff here
------------ end of uucp:rec_fax script --------
GPFax User Guide Page 94
APPENDIX A - VIEWFAX
THE VIEWFAX PROGRAM
Along with GPFax, we have provided a small stand-alone program for
simple viewing and printing of any fax files stored in the CBM standard
FAXX IFF format. The 'ViewFax' program will allow you to view and print
all faxes created by GPFax and other programs.
The program may be run from WorkBench or the CLI. Viewfax may also be
included as a command in directory utilities like Directory Opus or
DiskMaster, to provide a quick method of checking fax files.
As with all our software, you may select the desired gadget function
with the mouse or by pressing the key corresponding to the first letter
of the gadget text. The cursor left and cursor right keys may be used to
scroll the display instead of using the slider gadget.
To run the program from WorkBench, single click on one or more fax
icons, then while holding down the shift key, double click on the Viewfax
icon.
Viewfax accepts the following TOOLTYPES
LORES=TRUE open non interlaced screen
PRINTONLY=TRUE print the file directly, do not view
VERBOSE=TRUE display file information
To run the program from the CLI, enter
Viewfax -<options><fax file name, fax file name, ...>
where options are
-L open on non interlaced screen
-P print only, do not view
-V display file information
NOTES ON SAVING FAXES
To save the viewed fax as a IFF ILBM image , select the 'Save' gadget.
If RUNNING UNDER WORKBENCH 2.0x, the standard ASL filerequester will be
displayed where you may select the path and file name.
If RUNNING UNDER WORKBENCH 1.3, the file will automatically be saved in
the same directory as the fax file with the name .IFF appended.
*************************************************************************
* *
* DO NOT PRINT from GPFax while GPFax is running with the printer *
* driver option *
* *
*************************************************************************
GPFax User Guide Page 95
APPENDIX B - MODEMS
TYPES OF MODEMS - CLASS 2 ONLY
The GPFax class 2 version has been designed to conform to the draft
TR29.9 Class 2 fax standard (August '91) for sending and receiving faxes
with FAX/DATA modems. Unfortunately, the implementation of the standard
varies slightly between different modem manufacturers. If the software is
used with a Supra or Maestro modem, no extra settings are needed. (These
modems use chip set from Rockwell and XR.) However, if the software is
used with another brand of modem, some adjustments may be required.
Under Class 2, GPFax expects the following
Amiga to modem speed is locked at 19200 bits per second
(The TR29.2 standard mandates 19200 but some modems can operate at
higher speeds.)
RTS/CTS handshaking must be enabled (&K3)
Command echo should be disabled (E0)
Verbose result codes (V1)
Wait for dial tone before connect (X4)(except for manual send)
Disconnect and return to command state with DTR transition (&D2)
Manual Auto-Answer (SO=0)
The default modem initialisation string is
(For Supra use 'AT&F"E0', for ZyXEL use 'AT')
With other brands of modems, if GPFax fails to correctly initialise the
modem (for example if the 'WHERE's THE MODEM message appears) it can
often be solved by simply changing the modem initialisation string to
enable the above settings correctly. Some modems have these values as
their default settings so no actual init string apart from AT is
required. (See 'ENVIRONMENT'.)
FAX/DATA AUTO-DETECTION
If enabled, GPFax will auto detect between fax and data calls. This
function operates correctly with most Class 2 Fax modems. (Supra, ZyXEL,
Maestro etc.). The functions depends on the modem responding in a
guaranteed manner when answering calls and therefore the function cannot
be guaranteed with all brands of modems.
GPFax User Guide Page 96
TYPES OF MODEMS - CLASS 1
The GPFax Class 1 version has been designed to support the T30 Class 1
fax standard for sending and receiving faxes with Fax/Data modems.
Unfortunately there are often minor variations in the implementation of
the standard from different modem manufacturers. See 'Loading GPFax' for
TOOLTYPES settings for selecting the correct modem type. If your modem is
not one of the types listed some adjustments may be required.
Under Class 1, GPFax expects the following
Amiga to modem speed is locked to 19200 bits per second.
XON/XOFF handshaking is used.
Command echo should be disabled (E0)
Verbose result codes (V1)
Wait for dial tone before connect (X4) (except for manual send)
Disconnect and return to command state with DTR transition (&D2)
Manual Auto-Answer (SO=0)
The following default initialisation strings are used for various
modems.
AVTEK (Rockwell 224ATF) AT&F+C61E0B0X4&C1&D2&P1
USRobotics ATE0V1X4&D2S0=0&H2&B1
COMMA/SPIRIT (Analog devices) ATE0V1X4&D2*F2S0=0
Please refer to the modem manual for more details.
With other brands of modems, if GPFax fails to correctly initialise the
modem (for example if the 'WHERE's THE MODEM' message appears) it can
often be solved by simply changing the modem initialisation string to
enable the above settings correctly. (See 'ENVIRONMENT'.)
FAX/DATA AUTO-DETECTION
Because of different implementation in Class 1 modems, GPFax does not
support adaptive answer (automatic detection between fax and data) in
Class 1. Because of this Class 1 version does not support many of the
extra ARexx commands to allow use with BBS's. If you wish to use GPFax
with a BBS, use a Class 2 modem!
SLOW MODEMS
Some modems, such as those from USRobotics, will not accept the
initialisation commands at full 19200 speed. In these cases, use the
DELAY parameter in the TOOLTYPE to slow the transmission of characters.
The DELAY command adds a defined millisecond delay between characters.
GPFax User Guide Page 97
APPENDIX C - FAXX IFF
The following is the C header file used by GPSoftware. It shows the
standard IFF Form for storage of FAXX data as registered with CATS at CBM
West Chester.
/***********************************************************************
* FAX_IFF.H *
* Richard Carde and Dr Greg Perry-GPSoftware, *
* 21 Aloomba Rd Ashgrove Australia 4060. PH/Fax +61 7 3661402 *
* UseNet: richardc@vogue.adsp.sub.org *
* gregp@gpsoft.adsu.org *
* Issue 1 September 1991 *
***********************************************************************/
/***********************************************************************
* FaxxIFF.h *
***********************************************************************/
#define ID_FAXX Make ID('F','A','X','X')
#define ID_FXHD Make ID('F','X','H','D')
#define ID_PAGE Make ID('P','A','G','E')
#define ID_FLOG Make ID('F','L','O','G')
/* LineLength codes */
#define FXLNGSTD 215 /* 1728 pixels along std line Ing of 215mm */
#define FXLNGLONG 215 /* 2084 pixels along opt line Ing of 255mm */
#define FXLNGLONGER 215 /* 2432 pixels along opt line Ing of 303mm */
#define FXLNGA5 215 /* 1216/1728 pixel along opt line Ing of 151mm */
#define FXLNGSA6 215 /* 864/1728 pixels along opt line Ing of 107mm */
/* VRes Codes */
#define FXVRESNORM 385 /* Normal resolution: 3.85 lines/mm */
#define FXVRESFINE 770 /* Fine resolution: 7.7 lines/mm */
/* Compression Cobes */
#define FXCMPHONE 0 /* No compression - available under Group IV */
#define FXCMPMH 1 /* One dimensional (MH) coding */
#define FXCMPMR 2 /* Two dimensional (MH) coding */
#define FXCMPMMR 4 /* Modified Two dimensional (MMR) coding */
GPFax User Guide Page 98
struct FaxHeader {
UWORD Width Height; /* Image width and height, in pixels */
UWORD LineLength; /* Scan line length, in millimetres */
UWORD VRes; /* Vertical Resolution, in lines/100mm */
UBYTE Compression; /* Compression method */
UBYTE Pad [11]; /* Room for expansion */
};
/*********************************************************************
* define as FAX form for any Group 3 fax *
*********************************************************************/
#define ID_GPHD
#define VRES_STD 0 /* standard mode 98 DPI */
#define VRES_FINE 1 /* fine res 198 DPI */
#define COMP_NONE 255 /* no compression - binary file */
#define COMP_ID 0 /* 1-D modified HUFFMAN */
#define COMP_2D 1 /* 2-D modified REED */
#define COMP_2DU 2 /* 2-D uncompressed REED */
#define COMP_2DM 3 /* 2_D modified modified REED */
/* VR-std scan time VR-fine */
#define ST_0_0MS 0 /* 0ms 0ms */
#define ST_5_5MS 1 /* 5ms 5ms */
#define ST_10_5MS 2 /* 10ms 5ms */
#define ST_10_10MS 3 /* 10ms 10ms */
#define ST_20_10MS 4 /* 20ms 10ms */
#define ST_20_20MS 5 /* 20ms 20ms */
#define ST_40_20MS 6 /* 40ms 20ms */
#define ST_40_40MS 7 /* 40ms 40ms */
#define PW_1728 0 /* 1728 pels in 215mm */
#define PW_2048 1 /* 2048 pels in 255mm */
#define PW_2432 2 /* 2432 pels in 303mm */
#define PW_1216 3 /* 1216 pels in 151mm */
#define PW_864 4 /* 865 pels in 107mm */
#define PH_UNLIM 0 /* unlimited page length */
#define PH_A4 1 /* A4 PAGE 297mm */
#define PH_B4 2 /* B4 PAGE 364mm */
GPFax User Guide Page 99
#define BR_2400 0 /* 2400 BITS PER SECOND */
#define BR_4800 1
#define BR_7200 2
#define BR_9600 3
#define BR_12000 4
#define BR_14400 5
#define ECM_NONE 0 /* Error Correction Disabled */
#define ECM_STD 1 /* Error Correction Enabled */
#define BFT_NONE 0 /* Binary Transfer Disabled */
#define BFT_STD 1 /* Binary Transfer Enabled */
struct GPHD {
UWORD gp_Width; /* width in pels
UWORD gp_Length; /* length / height in pels
UWORD gp_Page; /* page number
UBYTE gp_ID[22]; /* id string 20 ch NULL term
UBYTE gp_VRES; /* Vertical Res dpi */
UBYTE gp_BitRate; /* connection bit rate */
UBYTE gp_PageWidth; /* page width */
UBYTE gp_PageLength; /* page length/height */
UBYTE gp_Compression; /* compression method */
UBYTE gp_ErrorCorrection; /* compression method */
UBYTE gp_BinaryFileTransfer; /* binary transfer mode */
UBYTE gp_ScanTime; /* Scan Time ms */
struct DateStamp gp_Date; /* date sent/received */
UBYTE gp_Pad[10];
};
GPFax User Guide Page 100
APPENDIX D - HANGUP CODES
GPFax (Class 2 version only) reports the status codes as sent by the
modem when sending and receiving faxes. The following is a list of those
codes expressed in hexadecimal. This actual error may not have much
meaning to you. ANY error generally means that the transmission FAILED!
+------+---------------------------------------------------------+
| CODE | DESCRIPTION |
+------+---------------------------------------------------------+
| | |
| | 0-0F Call placement and termination codes |
| 0 | Normal and proper end of connection |
| 1 | Ring detected without successful handshake |
| 2 | Call aborted, from +FKS or <CAN> |
| 3 | No Loop Current |
| 4 | Ringback detected, no answer timeout |
| 5 | Ringback detected, answer without CED |
| | |
+------+---------------------------------------------------------+
| | |
| | 10-1F Transmit Phase A and miscellaneous errors |
| 10 | Unspecified Phase A error |
| 11 | No Answer (T.30 T1 timeout) |
| | |
+------+---------------------------------------------------------+
| | |
| | 20-3F Transmit Phase B Hangup Codes |
| 20 | Unspecified Transmit phase B error |
| 21 | Remote cannot receive or send |
| 22 | COMREC error in transmit phase B |
| 23 | COMREC invalid command received |
| 24 | RSPREC error |
| 25 | DCS send three times without response |
| 26 | DIS/DTC received three times; DCS not recognised. |
| 27 | Failure to train at 2400 or +FMS value |
| 28 | RSPREC invalid response received |
| | |
+------+---------------------------------------------------------+
| | |
| | 40-4F Transmit phase C Hangup Codes |
| 40 | Unspecified Transmit Phase C error |
| 41 | Unspecified Image format error |
| 42 | Image conversion error |
| 43 | DTE to DCT data underflow |
| 44 | Unrecognised transparent data command |
| 45 | Image error: line length wrong |
| 46 | Image error: page length wrong |
| 47 | Image error: wrong compression code |
| | |
+------+---------------------------------------------------------+
GPFax User Guide Page 101
+------+---------------------------------------------------------+
| CODE | DESCRIPTION |
+------+---------------------------------------------------------+
| | |
| | 50-5F Transmit Phase D Hangup Codes |
| 50 | Unspecified Transmit Phase D error |
| 51 | RSPREC error |
| 52 | No response to MPS repeated three time |
| 53 | Invalid response to MPS |
| 54 | No response to EOP repeated three times |
| 55 | Invalid response to EOP |
| 56 | No response to EOM repeated three times |
| 57 | Invalid response to EOM |
| 58 | Unable to continue after PIN or PIP |
| | |
+------+---------------------------------------------------------+
| | |
| | 70-7F Receive Phase B Hangup Codes |
| 70 | Unspecified Receive Phase B error |
| 71 | RSPREC error |
| 72 | COMREC error |
| 73 | T.30 T1 timeout, expected page was not received |
| 74 | T.30 T1 timeout after EOM received |
| | |
+------+---------------------------------------------------------+
| | |
| | 90-9F Receive Phase C Hangup Codes |
| 90 | Unspecified Receive Phase C error |
| 91 | Missing EOL after 5 seconds |
| 92 | Bad CRC or frame (ECM or BFT modes) |
| 93 | DCE to DTE buffer overflow |
| | |
+------+---------------------------------------------------------+
| | |
| | A0-BF Receive Phase D Hangup Codes |
| A0 | Unspecified Receive Phase D error |
| A1 | RSPREC invalid response received |
| A2 | COMREC invalid response received |
| A3 | Unable to continue after PIN or PIP |
| | |
+------+---------------------------------------------------------+
| | |
| | C0-FF - reserved codes - |
| | |
+------+---------------------------------------------------------+
Other errors are unspecified hardware errors.
GPFax User Guide Page 102
***** This page is intentionally left blank *****
GPFax User Guide Page 103
INDEX
ABORT 62 SENDFAX 79
Adaptive Answer 75, 38 SENDFILE 76
Application icon 27, 40 STAMPBOTTOM 78
ARexx 27, 73 UNLISTEN 75, 82
Case of Strings 76 VIEWFAX 77
Creating Scripts 84 VIEWLAST 80
Function Keys 74 ASCII Text Files To Fax 51
GPFax Port 73 Assignments 19
on Data 43 AutoAnswer 37, 59
on Receive 43, 74 Automatic Paging 11
Return Codes 73 BADFILE 70
ARexx Commands Baud rate 27
AUTOANSWER 78 Baud rate locking 86
AUTOFAXDATA 78 BBS 74, 85
BAUDRATE 75, 82 BUSY 62
CLOSESERIAL 81 Buttons 21
COMPANYNAME 77 Colours 26
CONVERT 76 Commodore 2024 26
COVERPAGES 83 Company 31, 77
FAXFONT 80 Company Name 47
FAXTOIFF 76 Convert to Fax 50
FCONRECEIVE 83, 85 Cover Pages 56
IMAGESCALE 78 Scheduled 68
INITMODEM 81 Creating Faxes 12
LASTFILE 77 Cursor Keys 22
LINESPERPAGE 80 Custom screen 26
LISTEN 82 DataCall script 43
LOCKBAUD 82 DATACALL.GPF 90
MARGINS 80 Deleting Files 62
MODEMQUIET 78 Dial Mode 35
NOSYSREQ 78 Disk Space 15
OPENSERIAL 81 DISK! 63
PAPEMARKERS 78 Display Faxes 66
PAGEINATE 78 DUE 69
PRINTFAX 77 Editing Schedules 69
PRINTLAST 80 Environment 31
PRINTLOGREPORT 80 Default 30
PRTDRIVER 78 ERROR 70
PRTPOPUP 78 Error Messages 23
QUITFAX 77 ERRxxx 63
RECEIVENOW 83, 85 Extended Log Report 64
RECFAX 79 Facsimile machines 8
REPORLOG 80 FAIL 62
RESETSCHEDULES 83 FAILED 70
RESOLUTION 78 FAX# 48
REXXANSWER 78 Fax Header 10, 31
REXXDATA 78 Fax No 32
SCHEDULEFAX 82 Fax Resolution 10
SCHEDULER 78
SECURITY 78
GPFax User Guide Page 104
Fax/Data 96 Installation 18
ARexx 74 Intercharacter delay 28
FAX/DATA 39 JUNK 63
FAX_IN 15, 59 Junk Fax 42
FAX_OUT 15, 29, 54 LetterHead 32, 48
FAXID 32 Lines per Page 32, 34
FaxOut 24 Listen 86
FAXX IFF 98 Loading 26
FAXxxx.Pyy 29, 59 Log Report 37
Features 5 LogBook 60
File names 54 ARexx 73
File Requester 23 Manual Receive Fax 59
Floppy Drive Users 18 Manual Send 46, 58
Fonts 15, 33 Margins 10, 32
Default 32 Text 33
Form Feeds 40 MAXTRY 70
Formatting Commands 51 Memory 14, 66
Function Keys 74 Mode
Gadgets 21 Fax/Data 39
Decision 21 Modem 5, 30, 34, 62, 86
Information 20 adaptive Answer 75
String 21 Class 1 97
GETTY 85 Class 2 96
GPFax: 19 incorrect responses 58
GPFax_env 29 Initialisation 35, 96
GPFax_log 29 Types 28
GPFax_pho 29 Quiet Mode 40
GPFax_sch 29 Multitasking 14
Group 55 no-serial 30
PhoneBook 45 NO_EOP 63
Group 3 Fax 8 NOANS 62
Huffman coding 8 NOISY 63
Theory 8 NOMEM 62
Handshaking 14 Numeric Keypad 22
Hangup Codes 101 Options 36
Hard Drives 18 OVERDUE 70
Iconified 27 PABX 35
Iconify 71 Page Markers 40
Icons 26 Page Mode 11
Program Created 29 Page Size 8, 17
IFF 32 PageStream 13, 16
Scaling 39 Pagination 34
IFF Images Paging 11, 39
Converting 11 PENDING 69
IFF Picture Files PenPal 13
converting to fax 50 Phone Book 44
Image Scale 39 PhoneBook 55
Imbedded commands 12, 51 Popup 68
Inactivity Timer 58 Postscript 61
Initialization string 27 Preferences 16
GPFax User Guide Page 105
Print Faxes 66, 12, 12 TFAX 54
Print Popup 68 TIME 63
Printer driver 10, 11, 12 ToolTypes 26
16, 17, 27, 37 Transmit Fax 54
Printing 16 Trapdoor
Faxes 61 BBS Front End 85
Form Feeds 40 V 1.80 88
Popup 38 V 1.83 91
Professional Page 10 Unlisten 86
ProWrite 13, 16 User Interface 20
Prt Popup 37, 38 Versions 5
PRTxxx.Pyy 29 CLASS 1 28, 63
Re-Transmission of Fax 65 CLASS 2 27
Receive - ARexx 74 View Mode 41
Receive Fax 59 View Reports 60
Received Faxes 17 View Scheduled Faxes 70
Redial attempts 35 Viewfax Program 95
Reporting 37 Viewing Faxes
Reports 61, 69 screen resolution 41
Extended 64 Voice# 48
Resolution 16 WB2 Icon 40
fax 66 WildCard 25
Setting 43 Windows
ReSort Phone Book 49 Error 23
Retry 35, 70 File Requester 23
Rings 34 Popup 38
Silent Answer 39 Status 22
Saving Fax As IFF 67 WorkBench Screen 26
Scaling
IFF Images 39
letterhead 48
Scheduler 37, 56, 68
Editing 69
Screen resolution
Viewing Faxes 41
Security 42, 49, 59
Send Fax
Immediate 56
Manual 46
Serial Device 14, 15, 27,30, 34, 81, 86
Shared 35, 87
Unit Number 34
Signature 32, 48
SILENT ANSWER 39
Speed 27, 46
Stamp Bottom 40
Status Windows 22
SUPRA 39, 96
T: 19
Telecomms Software 7
Text to fax 12
GPFax User Guide Page 106
-= Manual Supplied By GAZ =-
-= Typed and Edited by DIT 13 02 1994 =-
-= For FIREFLASH of SKIDROW =-